package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.serializer.GeometrySerializer;
import com.alibaba.fastjson.annotation.JSONField;
import hw.topevery.framework.annotation.DbTableField;
import hw.topevery.framework.enums.DbTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.locationtech.jts.geom.Geometry;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 *  视图
 *
 * @author code-generate
 * @date 2021-08-06
 */
@Data
@ApiModel(value = "Section 视图", description = " 视图")
public class SectionVO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /**
     * 标段ID
     */
    @ApiModelProperty(value = "标段ID")
    @Excel(name = "标段ID", orderNum = "0")
    private String sectionId;

    /**
     * 标段编号
     */
    @ApiModelProperty(value = "标段编号")
    @Excel(name = "标段编号", orderNum = "0")
    private String code;

    /**
     * 标段名称
     */
    @ApiModelProperty(value = "标段名称")
    @Excel(name = "标段名称", orderNum = "0")
    private String name;

    /**
     * 简称
     */
    @ApiModelProperty(value = "简称")
    @Excel(name = "简称", orderNum = "0")
    private String shortName;

    /**
     * 范围 bd09
     */
    @ApiModelProperty(value = "范围 bd09")
    @Excel(name = "范围 bd09", orderNum = "0")
    private Geometry geomBd09;

    /**
     * 范围  wgs84
     */
    @ApiModelProperty(value = "范围")
    @Excel(name = "范围", orderNum = "0")
    @JSONField(serializeUsing = GeometrySerializer.class, deserializeUsing = GeometrySerializer.class)
    @DbTableField(columnName = "c_geom_wgs", dbType = DbTypeEnum.OTHER)
    private Geometry geomWgs;

    /**
     * 范围 大地2000
     */
    @ApiModelProperty(value = "范围 大地2000")
    @Excel(name = "范围 大地2000", orderNum = "0")
    private Geometry geom2000;

    /**
     * 范围  火星
     */
    @ApiModelProperty(value = "范围  火星")
    @Excel(name = "范围  火星", orderNum = "0")
    private Geometry geomGcj02;

    /**
     * 范围 百度魔卡托平面
     */
    @ApiModelProperty(value = "范围 百度魔卡托平面")
    @Excel(name = "范围 百度魔卡托平面", orderNum = "0")
    private Geometry geomMkt;

    /**
     * 标段状态（-1：停用；0：未提交；1：审核中；2：正常）
     */
    @ApiModelProperty(value = "标段状态（-1：停用；0：未提交；1：审核中；2：正常）")
    @Excel(name = "标段状态（-1：停用；0：未提交；1：审核中；2：正常）", orderNum = "0")
    private Integer state;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", orderNum = "0")
    private LocalDateTime dbCreateDate;

    /**
     * 创建人员ID t_sys_user.c_id
     */
    @ApiModelProperty(value = "创建人员ID t_sys_user.c_id")
    @Excel(name = "创建人员ID t_sys_user.c_id", orderNum = "0")
    private Integer dbCreateId;

    /**
     * 最后更新时间
     */
    @ApiModelProperty(value = "最后更新时间")
    @Excel(name = "最后更新时间", orderNum = "0")
    private LocalDateTime dbLastUpdateDate;

    /**
     * 最后更新人员ID t_sys_user.c_id
     */
    @ApiModelProperty(value = "最后更新人员ID t_sys_user.c_id")
    @Excel(name = "最后更新人员ID t_sys_user.c_id", orderNum = "0")
    private Integer dbLastUpdateId;

    /**
     * 
     */
    @ApiModelProperty(value = "")
    @Excel(name = "", orderNum = "0")
    private String stateDesc;

    @ApiModelProperty(value = "公园列表")
    private List<Integer> parkIds;

    public String mainManageDeptId ;

    public String manageDeptId ;

    public String people ;

    public String measure ;
    public String desc ;
    public String address ;
    public String phone ;

}
